Skip to content

Basic AL4 support in CI#7972

Merged
maxtropets merged 14 commits into
microsoft:mainfrom
maxtropets:f/al4-wip
Jul 6, 2026
Merged

Basic AL4 support in CI#7972
maxtropets merged 14 commits into
microsoft:mainfrom
maxtropets:f/al4-wip

Conversation

@maxtropets

@maxtropets maxtropets commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Minimal AL4 support

  • run on demand with azure-linux-4 label
  • will also run nightly on main
  • currently builds with few deprecation warnings that are explicitly excluded from compiler werror-checks
    • fix is incompatible with the current compiler version, so I left warning as is until we switch to AL4 and then implement the straightforward fix
  • runs unit + e2e tests (currently except partitions)
    • instead of fixing on common code with macros/etc will build as is until fully switching to AL4

@maxtropets maxtropets self-assigned this Jun 25, 2026
@maxtropets maxtropets force-pushed the f/al4-wip branch 11 times, most recently from b606ef9 to e990329 Compare July 1, 2026 16:45
@maxtropets maxtropets changed the title [DRAFT] AL4 experiments Basic AL4 support in CI Jul 1, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces minimal Azure Linux 4 (AL4) coverage in CI (nightly on main and on-demand via the azure-linux-4 label) and makes a handful of small compatibility adjustments across C++, tests, and build tooling to get the codebase building and exercising unit/e2e tests on AL4.

Changes:

  • Add a new AL4 GitHub Actions workflow plus an AL4-specific dependency installation script.
  • Update a few code paths for AL4 toolchain/library differences (Arrow Parquet reader API, OpenSSL header deprecations, QUIC session member cleanup).
  • Minor test harness robustness tweaks (curl -m argument formatting, tolerate additional transient connection errors).

Custom instructions used:

  • .github/copilot-instructions.md
  • .github/instructions/reviewing.instructions.md

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/ci-al4.yml Adds AL4 CI workflow with VMSS jobs to build and run unit/e2e buckets, with artifact upload of logs.
scripts/setup-ci-al4.sh New AL4 bootstrap script installing build/test deps, Node, h2spec, and Python tooling (uv).
tests/perf-system/submitter/submit.cpp Adds Arrow version gating for Parquet reader creation (Arrow ≥ 19 API change).
tests/infra/clients.py Fixes curl timeout argument formatting by passing -m and its value as separate argv entries.
tests/connections.py Expands transient exception handling to include BrokenPipeError during polling.
src/quic/quic_session.h Removes redundant/shadowing session_id member in derived QUIC session type.
src/enclave/enclave.h Drops OpenSSL engine.h include to align with OpenSSL 3 deprecations.
include/ccf/crypto/openssl/openssl_wrappers.h Drops OpenSSL engine.h include from wrapper header.
src/crypto/openssl/ec_public_key.cpp Drops OpenSSL engine.h include.
src/crypto/openssl/ec_key_pair.cpp Drops OpenSSL engine.h include.
src/ds/test/openapi.cpp Adds std::hash<Baz> specialization to enable schema generation for std::unordered_set<Baz>.
src/crypto/openssl/hash.cpp Adjusts HKDF salt pointer handling for empty salts (review comment raised on semantics risk).
samples/apps/logging/logging.cpp Simplifies unauthenticated caller detection by removing an unused dynamic_cast result variable.

Comment thread src/crypto/openssl/hash.cpp
@maxtropets maxtropets marked this pull request as ready for review July 2, 2026 08:06
@maxtropets maxtropets requested a review from a team as a code owner July 2, 2026 08:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Comment thread scripts/setup-ci-al4.sh

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Comment thread src/ds/test/openapi.cpp
Comment thread src/ds/test/openapi.cpp
Comment thread src/crypto/openssl/hash.cpp Outdated
Comment thread scripts/setup-ci-al4.sh Outdated
Comment thread scripts/setup-ci-al4.sh Outdated
Comment thread .github/workflows/ci-al4.yml Outdated
Comment thread .github/workflows/ci-al4.yml Outdated

@achamayou achamayou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few questions, but LGTM.

@maxtropets maxtropets merged commit 214deb4 into microsoft:main Jul 6, 2026
25 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants